为您找到与linux 内核 文件操作相关的共200个结果:
1.zip
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件。
2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下。
3.其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件。
浏览量:2
下载量:0
时间:
现如今,电脑的使用越来越普遍,几乎每家每户都有电脑,而电脑的操作离不开操作系统,在这里,读文网小编就向大家介绍如何在Linux操作系统下创建锁文件。
Linux提供了多种特性来实现文件锁定。其中最简单的方法就是以原子操作的方式创建锁文件,所谓“原子操作”就是在创建锁文件时,系统将不允许任何其它的事情发生。这就给程序提供了一种确保它所创建的文件是唯一性的方式,且该文件不可能被其它程序在同一时刻创建。
二、方法
锁文件仅仅是充当一个指示器的角色,程序间需要通过相互协作来使用它们。锁文件只是建议性锁,与此对立的是强制性锁。
为创建一个用作指示器的文件,我们使用带O_CREATE和O_EXCL标志的open系统调用。这将使我们以一个原子操作同时完成两项工作:确定文件不存在,然后创建它。
三、实现
//file : lock.c
#i nclude
#i nclude
#i nclude
#i nclude
#i nclude
int main()
{
int file_desc;
int save_errno;
file_desc = open("/tmp/LockFile.test", O_RDWR | O_CREAT | O_EXCL, 0444);
if (file_desc < 0)
{
save_errno = errno;
printf("Open failed with error is %d", save_errno);
}
else {
printf("Open succeeded");
}
exit(EXIT_SUCCESS);
}
第一次运行程序:
$ lock
输出如下:
Open succeeded
我们再次运行程序:
$ lock
输出如下:
Open failed with error is 17
分析:
第一次运行程序时,由于文件并不存在,所以执行成功。对于后续的执行,因为文件已经存在而失败了。若想程序再次执行成功,必须删除锁文件。
在Linux系统中,通常错误号码17代表的是EEXIST,此错误用以表示一个文件已存在。错误号定义在头文件errno.h或(更常见的)它所包含的头文件中。
浏览量:3
下载量:0
时间:
Linux文件I/O主要指的是文件的输入输出,很多初学者对文件的I/O不是很了解,Linux文件I/O的操作较多,下面读文网小编就给大家详细介绍下Linux文件I/O。
对内核而言,所以打开的文件都通过文件描述符引用。每个进程都有一些与之关联的文件描述符。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传送给read和write。
一般有三个以及打开的文件描述符,他们是:
代码如下:
0:标准输入 STDIN_FILENO
1:标准输出 STDOUT_FILENO
2标准错误输出 STDERR_FILENO
每行后面的符号常量是依从POSIX而定的。
open函数
代码如下:
#include 《sys/types.h》
#include 《sys/stat.h》
#include 《fcntl.h》
int open(const char *pathname, int flags);
int open(const char *pathname, int flags,mode_t mode);
pathname是要打开或创建文件的名字。
flag用来定义打开文件所采取的的动作,必须调用以下模式之一
O_RDONLY, O_WRONLY, O_RDWR分别代表只读,只写,读写方式打开。
open还可以包括以下可选模式的组合
O_APPEND:把写入数据追加到文件的尾端
O_CREAT:若文件不存在,则创建它。使用此选项时,需要第三个参数mode,用其指定该新文件的访问权限。
O_EXCL:如果同时指定了O_CREAT,而文件存在,则会出错。用此可以测试一个文件是否存在,如果存在,则创建文件,这使测试和创建两者成为一个原子操作。
O_TRUNC: 如果此文件存在,而且为只写或读写成功打开,则将其长度截为0。
open返回的文件描述符一定是最小的未用描述符数值。这一点被某些应用程序用在标准输入,标准输出或标准错误输出上。如,一个程序关闭了自己的标准输出,然后再次调用open,文件描述符1就会被调用,并且标准输出将被有效的重定向到另一个文件或设备。
POSIX规范还标准化了一个creat调用,此函数等效于
open(pathname,O_WONLY |O_CREAT | O_TRUNC, mode);
代码如下:
#include 《unistd.h》
ssize_t read(int fd, void *buf, size_tcount);
将与文件描述符fd关联的文件中读入count个字符放到buf中。返回读入的字节数,它可能小于请求的字节数。如果read调用返回0,就表示未读入任何数据,已到达了文件尾。返回-1,就表示出错。
浏览量:3
下载量:0
时间:
如果不了解Linux系统线上操作替换文件的话,很容易导致在cp时出现text file busy错误提示,所以掌握Linux系统线上操作替换文件是很重要的,下面随读文网小编一起来了解下吧。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
最近发现很多哦鞥有不知道线上操作替换文件的要点。所以系统之家的小编又整理了一下,以便你有个了解。
线上替换一个正在运行进程的文件时(包括二进制、动态库、需要读取的资源文件等)。应避免使用cp/scp操作。而需要使用mv/rsync作为替代。
原因:cp是将源文件截断然后写入新内容。也就是说正在打开这个文件的进程可以立刻感知到修改。修改文件内容很可能导致程序逻辑错误甚至崩溃。而mv则是标记”删除“老文件,然后放一个新的同名文件过去。也就是说老文件和新文件其实是两个不同文件(inode不同),只是名字一样而已。正在打开老文件的进程不会受到影响。如果进程使用了mmap打开某文件(比如载入so),如果目标文件被使用cp覆盖并且长度变小。那么读取差额部分的地址时(在新文件中其实已经不存在了),会导致SIGBUS信号。使进程崩溃。
至于可执行文件本身。倒是不怕cp导致崩溃。。因为cp时会报”text file busy“。压根cp不了。这时候也应该使用mv类操作。替换完成后重启进程。执行的就是新的可执行文件了。
上面就是Linux系统线上操作替换文件的注意事项的介绍了,如果你在cp时提示text file busy的话,可能就是操作方面的错误了,应改为mv类操作。
浏览量:2
下载量:0
时间:
Linux系统操作中,安装设备驱动时有时需要安装内核头文件,而很多朋友并不知道什么是内核头文件,自然也不知道要如何安装,下面读文网小编就给大家介绍下Linux安装内核头文件的方法。
提问:我在安装一个设备驱动前先要安装内核头文件。怎样安装合适的内核头文件?
当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件。内核头文件同样在你编译与内核直接链接的用户空间程序时需要。当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic)。
如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),你也可以使用包管理器来安装内核头文件。另一方面,如果下载的是kernel源码并且手动编译的,你可以使用make命令来安装匹配的内核头文件。
现在我们假设你的内核是发行版自带的,让我们看下该如何安装匹配的头文件。
在 Debian、Ubuntu 或者 Linux Mint 上安装内核头文件
假设你没有手动编译内核,你可以使用apt-get命令来安装匹配的内核头文件。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64
Fedora、CentOS 或者 RHEL上默认内核头文件的位置是/usr/include/linux。
上面就是Linux安装内核头文件的方法介绍了,需要注意的是,在安装内核头文件的时候使用yum命令可以自动找到合适的头文件安装,避免不必要的麻烦。
浏览量:2
下载量:0
时间:
我们在使用LINUX操作系统的时候,总会遇见一些顽固的文件怎么都删除不了.那怎么办呢?不用急,下面读文网小编就给大家说说解决方法.
首先找到要删除的文件,并且无法删除的文件,我这边是创建一个无法删除的文件 。
创建完之后查看是否有这个文件
发现有这个文件之后,尝试用rm命令删除这个文件,
发现无法删除,查看文件是i节点,1721422是我创建的这个文件的i节点
通过这个命令来删除这个-abc文件
6再次查看发现文件已经被删除了
是不是很简单呢~快跟着读文网小编一起学习吧!!!如果觉得这篇文章不错的话就给读文网小编点一个赞吧。
浏览量:2
下载量:0
时间:
“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。读文网小编为大家带来了linux操作系统内核分析详解,希望大家喜欢。
一、操作系统概述
在Richard Stevens的unix环境高级编程中这样定义“它控制计算机硬件资源,提供程序运行环境。一般而言我们称这种软件为内核(kernel),它相对较小,位于环境的中心”。总结下就是控制硬件,提供环境。程序员主要关心的是所谓的环境,主要说下提供什么环境。
操作系统都会想它们运行的程序提供各种服务,执行新的程序,打开文件,读文件,分配存储空间,获得当前时间等(一般通过系统调用)。
广义上,操作系统还有内核外的系统调用,基于系统调用的shell(也是一种特殊的应用程序,为其他应用程序提供接口)和库函数(对系统调用的封装),和基于shell,系统调用,库函数(这三个东西基本组成了我们常用的环境)的应用软件。有图如下:
在使用linux的man帮助的时候可以指定是查询系统命令还是系统调用使用man时可以指定不同的section来浏览,各个section 如下:
1 - commands
2 - system calls
3 - library calls
其实还有其他的section 不常见就没有列出来,可以man 1 chmod 也可以 man 2 chmod 得到的帮助内容是不同的。
为了增加unix可移植性,IEEE定义了POSIX的标准,后来这个标准不只限于unix操作系统。POSIX标准只是定义了一套接口,并没有规定接口的实现(类似于概要设计),(各个操作系统对接口的实现可能有所不同),也没有详细的区分系统调用和库函数,所有的例程都叫做函数。需要说明的是,并不是每个操作系统都严格遵守POSIX标准,POSIX标准现在是一个很大的协议族(类似于TCP/IP),标准很多。
二、Linux 是什么内核是什么
Linus Torvalds1991年的一片文章上写道“
LINUX is a free unix-like kernel for 386-AT computers, coming with full source code. It is meant for hackers/computer science students to use, learn and enjoy. It is written mostly inC, but parts of it are in gnu-format assembler, and the boot-sequence is in intel 086 assembly language. TheC-code is relatively ANSI, with a few GNU enhancements (mostly__asm__ andinline).
”-其实,linux只是一个主要用c写的内核。
从不同的角度来看,内核担任的角色不同。从纯技术角度来看,内核只是软件和硬件的一个中间层,它把从软件发来的请求发送给硬件,完成寻址等操作,还充当了底层驱动。
从应用程序角度来看,内核是对硬件的一个高层次的抽象,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的最底层。
从多个并发的进程的角度来看,内核是一个资源管理器,它完成对进程的切换,调度,共享计算机资源(CPU,内存,磁盘,网络等)。
还可以把内核看成一个库,通过系统调用向内核发送各种请求。
三、内核有什么
这个问题是淘宝面试的时候问我的问题,当时不知道从何下手,简单的总结下。有什么,最简单的就是直接看看内核源代码文件夹下有什么,一般内核文件在linux的目录/usr/src/kernels的文件夹下,我安装的操作系统是redhet的,当时没有安装上内核源文件,而且即使是安装上了也是2.6版本的,也不便于学习,所以下载了一个0.11版本的在http://www.oldlinux.org/index_cn.html上面,1.0版本及以上的可在http://www.kernel.org/pub/linux/kernel/上下载到。
简单看下1.0版本有什么文件主要的:
drivers:驱动代码
fs:文件系统的代码
include :包含文件,这个文件利用其他模块重建内核
init:初始化代码,内核工作的起点 //这里面有内核初始化程序main.c,是内核完成所有初始化工作并进入正常运行的关键
ipc:进程间通信的相关代码
kernel:主内核的代码 //最重要的是进程调度函数schedule()、sleep_on()函数和有关的系统调用程序
mm:内存管理的代码
net:网络管理的代码
0.11版本的.c文件代码有8578行,而1.0版本里面的.c文件代码大概有14w行,其中drives文件夹下就有7w行,2.6版本的有几百万行,估计那是任何大婶也读不完的~
上面简单的说明了源代码的目录结构,如果从系统的结构来看,linux操作系统可以分成五个比较核心的模块,进程调度模块,内存管理模块,文件系统模块,进程间通信模块和网络接口模块。其中的内存管理模块用于确保所有的进程能够安全地共享机器主要内存区,同时内存管理模块还支持虚拟内存的管理方式,使得Linux支持进程使用比实际内存空间多的内存容量。文件系统模块用于支持对外部设备的驱动和存储,虚拟文件系统模块通过对向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节,提高兼容性。下面是操作系统各个模块间的简单关系,虚线和虚框表示0.11上还为实现。
从图中可以看出,所有的模块都与进程调度模块存在依赖关系,因为他们都需要依靠进程调度程序来挂起(暂停)或重新运行它们的进程。还可以根据源代码的结构将内核结构划分成如下的形式:
浏览量:2
下载量:0
时间:
linux上操作文件的常用命令,最近工作中需要使用liux操作系统,处理一些文件。所有在这里整理一下liux上对文件操作的一些常用命令,便于以后工作。下面大家跟着读文网小编一起来了解一下吧。
ls
代码如下:
$ ls #查看当前目录下文件
conf lnmp_install.sh README vhost_ngx_pagespeed.sh
init.sh ngx_pagespeed.sh source vhost.sh
代码如下:
$ ls conf #查看conf目录下文件
index.html nginx.conf pureftpd-mysql.conf tz.php
init.d.nginx pure-ftpd.conf script.mysql
代码如下:
$ ls -a #显示所有文件(包含以点(.)开头的隐藏文件,)
. conf lnmp_install.sh README vhost_ngx_pagespeed.sh
.. init.sh ngx_pagespeed.sh source vhost.sh
代码如下:
$ ls -l #以长格式显示文件的详细信息,可以查看文件权限,所属用户,日期等
total 60
drwxr-xr-x 2 root root 4096 Jul 25 18:14 conf
-rwxr-xr-x 1 root root 5720 Jul 25 18:14 init.sh
-rwxr-xr-x 1 root root 21011 Jul 25 18:14 lnmp_install.sh
-rwxr-xr-x 1 root root 1983 Jul 25 18:14 ngx_pagespeed.sh
-rw-r--r-- 1 root root 392 Jul 25 18:14 README
drwxr-xr-x 15 root root 4096 Jul 27 13:58 source
-rwxr-xr-x 1 root root 4865 Jul 26 21:58 vhost_ngx_pagespeed.sh
-rwxr-xr-x 1 root root 3774 Jul 25 18:14 vhost.sh
pwd #打印当前目录
代码如下:
# pwd
/root/lnmp
cd
代码如下:
# cd ../ #进入上层目录
# cd ../../ #进入上上层目录
# cd ~ #进入当前用户的家目录
# cd /root/lnmp/conf #进入/root/lnmp/conf目录
mkdir
代码如下:
$ mkdir linuxeye #创建一个linuxeye目录
$ mkdir -p backup/sql #递归创建目录(如果目录不存在,则创建)
rm
代码如下:
$ rm init.sh #删除init.sh文件(不加-r参数不能删除目录)
$ rm -r conf #递归删除文件或目录(可以删除文件夹,系统会询问你是否删除,输入y表示确认,然后回车即可)
$ rm -rf backup #不会询问(-f参数慎用),直接递归删除文件或目录
mv
代码如下:
$ mv linux linuxeye #将linux文件或者目录重命名为linuxeye
$ mv vhost.sh conf/ #将vhost.sh移动到conf目录下
cp
代码如下:
$ cp linux linuxeye #将linux文件复制一份命名为linuxeye(如果存在linuxeye目录,则将linux文件复制到linuxeye目录下,文件名不变为linux)
$ cp -r linuxeye/ conf/ #将linuxeye目录(包含里面文件)复制到conf目录下
wget
代码如下:
$ wget //blog.linuxeye.com/wp-contenthttp://uploads.quduwen.com/lnmp.tar.gz #下载文件,可加参数-c断点续传;-T 设置超时时间后面跟秒
cat && grep
代码如下:
$ cat vhost.sh | grep linuxeye #显示vhost.sh 过滤包含linuxeye字符的行
awk
取一个公网ip地址
代码如下:
ifconfig | grep 'inet addr:' | cut -d: -f2 | grep -v ^10. | grep -v ^192.168 | grep -v ^172. | grep -v ^127. | awk '{print $1}' | awk '{print;exit}'
系统资源管理
代码如下:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda 24G 13G 9.9G 55% /
tmpfs 501M 108K 501M 1% /dev/shm
top #动态查看进程消耗资源(cpu、内存)
top -H #查看各个线程资源消耗情况
free -m # 查看内存、swap使用情况,top也可以看
压缩与解压缩
tar
代码如下:
$ tar czf linuxeye.tar.gz ./linuxeye #tar打包压缩
$ tar xzf linuxeye.tar.gz #解压
zip & unzip #加-q参数不会显示压缩过程
$ zip -r linuxeye.zip ./linuxeye #zip压缩
$ unzip -q linuxeye.zip #安静的zip解压
看过“ linux上操作文件的常用命令 ”
浏览量:3
下载量:0
时间:
工程师们经常在linux发布工程进行测试,所以要用到linux一些文件操作命令,所以小编为大家分享了Linux常用文件操作命令,下面大家跟着读文网小编一起来了解一下吧。
新建文件:
1.新建文件夹命令:mkdir 文件夹名称
2.创建文档就用:vi 文件名,然后就可以编辑文档了,退出的时候依次按ESC -> : ->x 就退出并保存了,:wq 保存后退出。:x 同“ wq”。:q! – 不保存内容, 强制退出。
删除文件:
1.删除文件夹:rm [选项] 文件夹名称。如rm -r test
2.删除文件:rm 文件名 。如:rm test.txt
修改文件:
1.vi命令。vi 文件名这样就可以打开一个文件,再点击i就可以进入编辑了。其实编辑命令还有:o,a。我这里比较熟悉i的使用:退出点击esc键,就进入命令模式。
我这里找了一些常见的命令,如下:
x:删除当前字符。
dd:删除当前行。
2dd:删除文件的当前行和后一行。
u:恢复前一步操作。
p:复制之前删除的行。
yy:复制光标所在的整行。
2yy:复制2行,举一反三 3yy。
p:粘贴到光标的后面。
4查看文件:
1.查看目录下的所有文件又2种命令:ll 和ls 。 ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls 只列出显式文件名。
2.查看某个文件内容也有2种:cat 和 vi 。cat主要有三大功能:一次显示整个文件:$ cat filenam 、从键盘创建一个文件:$ cat > filename 只能创建新文件,不能编辑已有文件、将几个文件合并为一个文件: $cat file1 file2 > file .
vi实际上是文件编辑命令,但是也可以查看文件。
看过“ Linux常用文件操作命令 ”
浏览量:2
下载量:0
时间:
在windows下我们查看系统信息直接右击电脑属性就可以查看了.那么在Linux系统中如何查看呢.下面跟着读文网小编来一起了解下怎么查看linux操作系统吧。
1. 查看内核版本命令:
chen@mylinuxserver:~> cat /proc/version
Linux version 2.6.5-7.244-smp (geeko@buildhost) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Mon Dec 12 18:32:25 UTC 2005
/proc 目录的作用?
chen@mylinuxserver:/proc> uname -a
Linux mylinuxserver 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 i686 i386 GNU/Linux
chen@mylinuxserver:/proc> uname -r
2.6.5-7.244-smp
uname命令的作用?
2. 查看Linux版本:
1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:
chen@mylinuxserver:/proc> lsb_release -a
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: SUSE LINUX
Description: SUSE LINUX Enterprise Server 9 (i586)
Release: 9
Codename: n/a
注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
2) 登录到linux执行cat /etc/issue,例如如下:
chen@mylinuxserver:/proc> cat /etc/issue
Welcome to SUSE LINUX Enterprise Server 9 (i586) - Kernel (l).
3) 登录到linux执行cat /etc/redhat-release ,例如如下:
chen@mylinuxserver:/proc> cat /etc/*release*
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32"
cat: /etc/lsb-release.d: 是一个目录
SUSE LINUX Enterprise Server 9 (i586)
VERSION = 9
PATCHLEVEL = 3
看过“怎么查看linux操作系统”
浏览量:3
下载量:0
时间:
在linux中查看与修改文件权限我们都必须使用命令来操作,不能像windows一样点几下就好了,那么linux系统怎么查看及修改文件读写权限设置?接下来大家跟着读文网小编一起来了解一下linux系统查看及修改文件读写权限设置的解决方法吧。
查看文件权限的语句:
在终端输入:
ls -l xxx.xxx (xxx.xxx是文件名)
那么就会出现相类似的信息,主要都是这些:
-rw-rw-r--
一共有10位数
其中: 最前面那个 - 代表的是类型
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r-- 代表的是其他人(other)
然后我再解释一下后面那9位数:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予
现在该说说修改文件权限了
在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ------------4
w -----------2
x ------------1
- ------------0
行动:
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限
当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
看过“linux系统怎么查看及修改文件读写权限设置”
浏览量:2
下载量:0
时间:
每个人都有读写和执行的权限 Linux文件和目录访问权限设置使用chmod和数字改变文件或目录的访问权限文件和目录的权限表示,那么大家知道怎么查看及修改Linux系统文件读写权限吗?接下来大家跟着读文网小编一起来了解一下查看及修改Linux系统文件读写权限的解决方法吧。
查看权限命令
查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la
如
ls -l www.jb51.net https://这里表示查看www.jb51.net目录
修改权限命令
chmod 777 文件名
1.chmod 577 /home/stuser -R
2.umask -p 0200
3.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)
权限列表
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
查看文件权限的语句:
在终端输入:
ls -l xxx.xxx (xxx.xxx是文件名)
那么就会出现相类似的信息,主要都是这些:
-rw-rw-r--
一共有10位数
其中: 最前面那个 - 代表的是类型
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r-- 代表的是其他人(other)
然后我再解释一下后面那9位数:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予
现在该说说修改文件权限了
在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ------------4
w -----------2
x ------------1
- ------------0
行动:
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限
当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
看过“怎么查看及修改Linux系统文件读写权限”
浏览量:2
下载量:0
时间:
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。那么Linux怎么使用JFS文件系统呢?今天读文网小编与大家分享下Linux使用JFS文件系统的具体操作步骤,有需要的朋友不妨了解下。
JFS是IBM公司为linux系统开发的一个日志文件系统。从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统。
JFS提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。JFS 能够在几秒或几 分钟内就把文件系统恢复到一致状态。JFS能够保证数据在任何意外宕机的情况下,不会造成磁盘数据的丢失与损坏。
一、JFS文件系统特点
1.存储空间更大
JFS 支持的最小文件系统是 16M 字节。最大文件系统的大小为 512 万亿字节(TB)。JFS 是真正意义上的 64 位的文件系统。所有 JFS 文件系统结构化字段都是 64 位大小。
2.动态磁盘 inode 分配
JFS 按需为磁盘 inode 动态地分配空间,释放不再需要的空间。这种方式避开了在文件系统创建期间,为磁盘 inode 保留固定数量空间的传统方法。用户不需要考虑文件系统包含的文件和目录最大数目。
3.基于盘区的寻址结构
JFS 使用基于盘区的寻址结构,JFS 分配尝试通过分配最小数量的盘区策略,而使每个盘区尽可能大。这有利于大的 I/O 传送,磁盘读写性能所有提高。
4.块尺寸可变
JFS 支持 512、1024、2048 和 4096 字节的块尺寸,允许用户根据应用环境优化空间利用率。较小的块尺寸减少有利于内部存储碎片的数量,提高空间利用率。系统缺省块尺寸为 4096 字节。
二、使用JFS文件系统
1.编译内核以支持JFS文件系统
首先下载最新的2.4.x 核心,然后下载JFS系统软件包,名称为:jfs-x.y.z-patch.tar.gz。 将下载文件存放在/usr/src目录中。
在/usr/src/上当目录下解开jfs的软件包
# tar –zxvf jfs-2.4-1.0.4.tar.gz
# tar –zxvf jfs-2.4-1.0.4-patch.tar.gz
得到四个文件:
jfs-2.4.common-v1.0.4-patch
jfs-2.4.7-v1.0.4-patch
jfs-2.4.5-v1.0.4-patch
jfs-2.4.0-v1.0.4-patch
其中,jfs-2.4.common-v1.0.4-patch文件用于所有的2.4核心,jfs-2.4.0-v1.0.4-patch用于2.4.0-2.4.2。jfs-2.4.5-v1.0.4-patch可用于核心2.4.5及2.4.6。
注意仔细阅读README文件,不要用错了patch文件
接着是为核心打补丁:
# patch –p1 < jfs-2.4.5-v1.0.4-patch
打补丁工作完成。
最后运行
#make menuconfig
将新的文件系统加入了核心编译配置文件中,要进行以下内核配置:
使用make menuconfig 在菜单"Code maturity level options"中,选择"Prompt for development and/or incomplete code/drivers."选项。然后,进入文件系统菜单"File systems",选择"JFS filesystem support."选项。配置核心,使核心支持JFS文件系统。配置核心的其它选项。
<*> JFS filesystem support
##将JFS文件系统的支持编译入内核,也可以将其编译成模块加载方式,见以下选择:
JFS filesystem support
笔者建议将JFS文件系统支持直接编译进内核,这有利于提高系统性能。
然后编译核心:
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
#cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.5-jfs
最后,编辑 /etc/lilo.conf 文件,加入新内核条目,以便使用新的内核引导系统。如下所示,在 lilo.conf文件中加入以下几行内容:
image=/boot/vmlinuz-2.4.5-jfs
label=jfs
read-only
root=/dev/hda5
然后运行lilo,使更改生效。
#lilo
三、创建JFS文件系统
1.查看系统对JFS文件系统的支持
如果新的内核正确启动,这说明核心已支持JFS文件系统了。查看系统进程,可以看到以下进程:
#lsmod
7 ? SW 0:00 [jfsIO]
8 ? SW 0:00 [jfsCommit]
9 ? SW 0:00 [jfsSync]
如果你看到了以上这几个进程,这表明系统核心已支持JFS文件系统。
另外,在/proc/fs/jfs 目录下应该还有三个文件:
jfsFYI
logmgr
TxAnchor
2.下载编译JFS文件系统工具
为了使用JFS文件系统,我们还需要创建文件系统的工具,到IBM的JFS网站下载相应工具jfsutils-1.0.7.tar.gz软件包。
编译安装过程如下:
#tar –zxvf jfsutils-1.0.7.tar.gz
#cd jfsutils-1.0.7
#./configure
#make
#make install
安装完成后,在/usr/sbin中就多出一个 可执行文件mkfs.jfs,我们就用它将分区格式化成jfs文件系统。
3.创建JFS文件系统
以下开始创建一个JFS文件系统, 将hda6分区格式化成JFS文件系统,以下为格式化时显示的内容:
#mkfs -t jfs /dev/hda6
mkfs.jfs development version: $Name: v0_3_1 $
Warning! All data on device /dev/hda6 will be lost!
Continue? (Y/N) y
Format completed successfully.
5120608 kilobytes total disk space.
运行完成后,JFS文件系统已经在hda6分区创建完成了。
4.加载JFS文件系统
首先,创建一个目录jfs,以便将JFS文件系统mount到其上:
#mkdir jfs
将新的分区mount到jfs目录下:
#mount –t jfs /dev/hda6 /jfs
这样,新的文件系统就加载到/jfs目录下了。现在可以使用新的文件系统了。
四、使用JFS文件系统
1.普通分区使用JFS文件系统
Linux内核支持了JFS文件系统后,可以将磁盘所有分区均格式化为JFS文件系统。通常情况下,建议/usr,/usr/sbin等分区采用非日志文件系统,而在那些对读写要求频繁的分区上使用JFS文件系统。这有利于提高系统性能。
2.主引导区使用JFS文件系统
主分区为linux的启动分区,其中存放了系统启动所需的基本文件。以下开始将JFS文件系统用于主分区,首先备份主分区上的所有常用文件目录:
#cd /
#cp -a bin etc lib boot dev home usr var [...] /jfs
#mkdir /jfs/proc
在使用JFS文件系统启动之前,还应该更改/etc/fstab文件,将相应的分区用作根分区。如下所示:原来的根分区为:
LABEL=/ / ext2 defaults 1 1
应该更改为:
/dev/hda6 / jfs defaults 1 1
然后,编译/etc/lilo.conf文件,将主引导分区更改为/dev/hda6。置label为jfs,将缺省的启动设置为jfs。
如下所示:
default=jfs
...
image=/boot/vmlinuz-2.4.0-jfs
label=jfs
read-only
root=/dev/hda6
然后,运行lilo,完成。
最后,reboot 系统,启动之后,你就得到一个纯jfs文件系统的linux环境了,剩下的事情就是将原来的主分区重新格式化成 jfs,然后再将其mount到主分区的某个目录下就行了。
看过“Linux怎么使用JFS文件系统”
浏览量:5
下载量:0
时间:
win7默认隐藏扩展名,那么Windows 7操作系统怎么改文件扩展名呢?今天读文网小编与大家分享下Windows 7操作系统改文件扩展名的具体操作步骤,有需要的朋友不妨了解下。
首先就是查看文件的扩展名是否出现,若果有的话直接跳到第4步。下面以没有出现扩展名为例来一步步修改文件扩展名,win7默认情况之下是不显示文件扩展名的,这时想修改文件类型的话,得去打开文件扩展名显示的这个选项。
首先双击“计算机”,进入之后,点击菜单栏“工具”-----“文件夹选项”---“查看”,然后找到隐藏文件夹扩展名的选项,将前面的对勾去掉,然后点击确定即可。
完成之后,这样就可以看到文件的扩展名。右击需要修改文件类型的文件,选择“属性”,进入属性菜单界面。在这里就可以进行修改。
4右击文件,选择“属性”,这里以txt文件修改为“bat”文件为例。右击txt文件,然后属性,进入之后,找到后缀txt,将它改为“bat”,然后单击确定,这时会弹出对话框,点击确定即可。如果修改类型出错,文件不能正常打开,重新修改回来进行恢复即可。
浏览量:2
下载量:0
时间:
当文件操作错误或丢失时,可以使用文件恢复功能进行恢复。那么Vista操作系统怎么恢复文件呢?读文网小编分享了Vista操作系统恢复文件的方法,希望对大家有所帮助。
(1)制定计划备份文件
要想在文件丢失时恢复文件,首先要为文件做一个备份计划,使vista系统完成相应的备份操作,具体方法如下。
第1步:在“备份和还原中心”窗口中,单击右側的“备份文件”按钮,弹出“备份文件”向导对话框。
第2步:选择备份文件的存放位置,然后单击“下一步”按钮。
第3步:在接下来的页面中,程序将自动选中所有的NTFS分区,清除不需要数据备份的分区(系统分区无法清除),只勾选需要进行数据备份的分区,然后单击“下一步”按钮。
第4步:接下来选择备份所选分区中的哪些文件.在左侧的文件类型列表中勾选要备份的文件类型.将鼠标指向某个文件类型,可以在右側的提示框中查看相应的说明.设置完毕后单击“下一步”按钮继续。
第5步:接下来设置自动备份的时间。在“频率”列表中可以设置每天、每周或每月进行一次自动备份,然后在下面的“哪一天”和“时间”列表中设置具体的时间,例如设置每周日下午7点进行备份完成后单击“保存设置并开始备份”按钮。
第6步:接下来程序开始进行备份,备份完毕后将在通知区域弹出提示信息,并自动关闭对话框,完成备份文件的操作。
设罝了自动备份文件功能后,若需要在非指定时间对文件进行谷份,可以在“崙份与还原中心”中再次单击“备份文件”按钮,程序将会按照崙份计划立即进行备份操作。
若要取消自动谷份功能,可在“谷份与还原”中心中单击“备份文件”区域中的“更改设罝”链接,弹出“备份状态和配罝”对话框,单击“关闭”按钮,即可禁用自动备份文件功能。
浏览量:2
下载量:0
时间:
一个中等水平的Linux用户一定少不了经常执行.sh文件,那么Linux怎么运行.sh文件呢?今天读文网小编与大家分享下Linux运行.sh文件的具体操作步骤,有需要的朋友不妨了解下。
1、cd到.sh文件所在目录
比如以hello.sh文件为例,如下图
2、给.sh文件添加x执行权限
比如以hello.sh文件为例,chmod u+x hello.sh,如下图
3、./执行.sh文件
比如以hello.sh文件为例,./hello.sh 即可执行hello.sh文件,如下图
4、sh 执行.sh文件
以hello.sh文件为例,sh hello.sh即可执行hello.sh文件,如下图
注意事项:用“./”加文件名.sh执行时,必须给.sh文件加x执行权限
看过“Linux怎么运行.sh文件”
浏览量:2
下载量:0
时间:
在web开发过程中,经常需要设定一些定期执行的任务,那么linux怎么添加计划任务执行php文件呢?读文网小编分享了linux添加计划任务执行php文件的方法,希望对大家有所帮助。
1.打开linux系统命令行界面。
在命令行界面中输入如下命令:which php,回车。
1.记住上一步的php路径,继续在命令行下输入:crontab -e,回车,按下“i”键进入vi编辑器的编辑模式,在当前模式下输入如下命令:
10,40,50 * * * * /usr/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php
即:计划任务执行频率+php可执行文件路径+要执行的php文件路径。(文章最后会详细解释命令开始的执行频率)
输入完成后,按下“ESC”键并在当前命令行输入“:”,在“:”后输入“wq”,再回车,出现如下提示,证明计划任务添加成功。
Linux计划任务的执行频率:
命令开始部分的频率,由五个部分组成,分别代表分钟、小时、日、月、星期(0是星期日)。当前频率全部执行时,用“*”表示,所以才会出现这么多“*”。下面的例子,可以帮助大家理解:
下面的计划任务会一直运行
* * * * * [command]
下面的计划任务会在每个小时的0分时运行(就是每小时执行一次)
0 * * * * [command]
下面依旧是一个每小时运行一次的计划任务。不过是在每个小时的一刻钟时运行的(1:15,2:15.。。)
15 * * * * [command]
下面的计划任务每天执行一次,在2:30分
30 2 * * * [command]
下面的计划任务是在每个月2号的午夜执行(比如:2010年2月2日00:00)
0 0 2 * * [command]
下面的计划任务会在每周一的每个小时0分钟时执行一次
0 * * * 1 [command]
下面的会每小时运行3次,在0分,10分,和20分时
0,10,20 * * * * [command]
下面是用除号“/”表示每多少运行一次。本例是每5分钟运行一次
*/5 * * * * [command]
还可以用“-”表示一个范围,如下表示5到10点的每个整点运行一次
0 5-10 * * * [command]
另外还有一个特殊的时间关键字“@reboot”,就是每次重启服务器时运行计划任务
@reboot [command]
看过“linux怎么添加计划任务执行php文件”
浏览量:4
下载量:0
时间: